<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        var arrs = [1, 2, 2,2,2, 3, 3, 4, 5, 6, 7, 8, 5];
        // 方法一
        // var newarr = [];
        // for(var i=0;i<arrs.length;i++){
        //     newarr.push(arrs[i]);
        // }

        // console.log(newarr);

        // 上面是复制一个数组 

        // 去重  意思是 每个元素仅仅出现1次 

        // 遍历原数组的时候 先判断新数组中是否已经有这个元素了 如果没有插入到新数组中 如果
        // 如果有了 不往里放 

        // 数组.indexOf(元素)

        // 存在返回的是 第一次出现的索引 不存在返回-1

    //     var newarr = [];
    //     for (var i = 0; i < arrs.length; i++) {
    //         //判断元素是否在新数组中 不在插入进去 
    //         if (newarr.indexOf(arrs[i]) == -1) {
    //             newarr.push(arrs[i]);
    //         }
    //     }

    //     console.log(newarr);

    // 方法二 
    // 先排序  
    // 前面一个跟后面一个进行比较 如果相同删除其中一个
    // 为了防止数组塌陷


    // 先排序  
    // console.log(arrs)
    // arrs.sort(function(a,b){return a-b});
    // console.log(arrs)
    // for(var i=0;i<arrs.length;i++){
    //     if(arrs[i] == arrs[i+1]){
    //         arrs.splice(i,1);
    //         i--;
    //     }
    // }
    // console.log(arrs)
    


    // 第三种方法  
    // 1.不排序 
    // 2.从当前开始  看下一个一直到最后有没有跟它一样的 如果有删除后边一样的  
    // 3.方式数组塌陷 
    var arrs = [1, 2, 2,2,2, 3, 3, 4, 5, 6, 7, 8, 5];
    for(var i=0;i<arrs.length;i++){
        // 从0开始 从1到最后 看看有没有跟下标0的元素一样的 如果有删除后边的
        var index = arrs.indexOf(arrs[i],i+1);
        if(index !== -1){ //说明有重复的
            arrs.splice(index,1);
            i--;
        }

    }

    console.log(arrs)
    </script>
</body>

</html>